# -*- coding: iso-8859-1 -*-
# file Controller.py
# author Rocco Martino
#
############################################################################
#    Copyright (C) 2015 by Rocco Martino                                   #
#    martinorocco@gmail.com                                                #
#                                                                          #
#    This program is free software; you can redistribute it and/or modify  #
#    it under the terms of the GNU Lesser General Public License as        #
#    published by the Free Software Foundation; either version 2.1 of the  #
#    License, or (at your option) any later version.                       #
#                                                                          #
#    This program is distributed in the hope that it will be useful,       #
#    but WITHOUT ANY WARRANTY; without even the implied warranty of        #
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
#    GNU Lesser General Public License for more details.                   #
#                                                                          #
#    You should have received a copy of the GNU Lesser General Public      #
#    License along with this program; if not, write to the                 #
#    Free Software Foundation, Inc.,                                       #
#    59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             #
############################################################################

############################################################################
from . import Object
############################################################################




############################################################################
# ........................................................................ #
# ........................................................................ #
############################################################################




############################################################################
# ........................................................................ #
class Controller(Object.Object):





############################################################################
    Object = None
############################################################################









############################################################################
    def __init__(self, obj, data, controller):
        super(Controller, self).__init__(controller, data)

        self.Object = obj

        self.ClassName = "ooGame::Controller"
        self.Name = controller.name + "@" + obj.name
        self.CollectProps = False
        self.CheckUniqueID = True
        self.UseObjectName = False
############################################################################




############################################################################
    def writeData(self, writer):
        super(Controller, self).writeData(writer)


        if "LOGIC_" in self.BlenderObject.type:
            writer.writeLine("Operator %s" % self.BlenderObject.type.replace("LOGIC_", ""))
        else:
            writer.writeLine("Operator USER_DEFINED")


        writer.writeLine("StateIndex %d" % (self.BlenderObject.states - 1))





        num_actuators = 0 ;

        for i in self.BlenderObject.actuators:
            if i:
                num_actuators += 1




        if self.BlenderObject.actuators:

            writer.moveIn("ActuatorList %d" % num_actuators)


            for c in self.BlenderObject.actuators:
                if c:
                    writer.writeLine("%u " % self.Object.game.actuators.find(c.name))


            writer.moveOut("ActuatorList %d" % num_actuators)
############################################################################




# ........................................................................ #
############################################################################
